# 导入fastAPI
from fastapi import FastAPI
# 用来设置跨域传参
from fastapi.middleware.cors import CORSMiddleware
# 服务
import uvicorn
# 导入API模块
from app.api import loginAPI, userAdminAPI, roleAdminAPI, menuAdminAPI

# 导入数据库相关文件
from app.db.database import Base, engine
import app.db.model

# 在数据库中创建数据表
Base.metadata.create_all(engine)

app = FastAPI(title='电梯检测质量抽查数据管理平台')

# 在app中注册导入的路由模块
app.include_router(loginAPI, prefix='/loginAPI')    # 注册登录路由模块
app.include_router(userAdminAPI, prefix='/userAdminAPI') # 注册用户管理路由模块
app.include_router(roleAdminAPI, prefix='/roleAdminAPI') # 注册角色管理路由模块
app.include_router(menuAdminAPI, prefix='/menuAdminAPI') # 注册菜单管理路由模块

# 设置允许访问的域名
origins = ["*"]  #也可以设置为"*"，即为所有。

# 设置跨域传参
app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,  # 设置允许的origins来源
    allow_credentials=True,
    allow_methods=["*"],  # 设置允许跨域的http方法，比如 get、post、put等。
    allow_headers=["*"]   # 允许跨域的headers，可以用来鉴别来源等作用。
)

if __name__ == "__main__":
    uvicorn.run(app='main:app', host="0.0.0.0", port=8000, reload=True, debug=True)


